1. Field of the Invention
The present invention relates to Virtual Local Area Network (VLAN) trunking over Asychronous Transfer Mode (ATM) Permanent Virtual Circuits (PVCs), and in particular to aggregating multiple VLANs onto a single PVC between two sites.
2. Background Information
Computers have made a substantial impact in the way corporations operate their business. The computer paradigm initially started out as a central computer (known as xe2x80x9cmain framexe2x80x9d) housed in one room that served all the needs of an organization""s computational requirements. Main frames are generally expensive to procure and require intensive maintenance as well as a dedicated group of skilled programmers to service them. However, with the advancement of computer technology and fabrication techniques, powerful, yet small computers (known as personal computers (PCs)) capable of servicing individuals have become readily available. Furthermore, sophisticated off-the-shelf software have allowed individuals with no previous computing background to be highly productive using PCs. From the organization""s point of view, this decentralized computer paradigm is more desirable in that a computer, which maybe xe2x80x9cdownxe2x80x9d in one department, does not affect other computers in other departments. Furthermore, individual computers may be replaced on a as needed basis without unduly burdening the organization. However, individual computers operating autonomously are disadvantageous over the main frame in that they do not share resources among themselves.
The use of local area networks (LANs) allows for various PCs within a department to be connected together so that resources may be shared. Typically, one or more PCs are configured to act as servers to maintain files and to administer the LAN. Typically, the LAN would have a communication cable that connects the computers together for the interchange of information. To ensure that information is transmitted without corruption, popular arbitration schemes such as the Institute of Electrical and Electronics engineers (IEEE) 802.3 standard/Ethernet or IEEE 802.5 standard/token ring are widely used.
From an organizational point of view, it is desired that the individual LANs be connected together such that interdepartmental communication may be facilitated. For instance, the marketing department may want to access files in the manufacturing department. The manufacturing department, on the other hand, may want to access files in the procurement department. Therefore, to facilitate this, each of the individual LANs within the department may be connected by another LAN or LAN switches if each department is within the same building.
Where the individual departments are in different geographical areas, a wide area network (WAN) may be used to interconnect the LANs. Between campuses, one method would be to connect the LANs of each campus using a LAN switch. The campuses can then be connected via a Broadband Integrated Services Digital Network (B-ISDN) based on an Asychronous Transfer Mode (ATM) network. This configuration is shown in FIG. 1. Although an ATM network is not a LAN per se, it can emulate the LAN to make it appear as if the individual switches are connected through a LAN system.
The ATM network switches small fixed units of data called xe2x80x9ccellsxe2x80x9d. Switch latency is minimized because the small cell size equates to a small store-and-forward delay. It offers permanent virtual circuits (PVCs) that allows for static connections and switched virtual circuits (SVC) that are automatically set up and torn down on need basis. In accordance with the ATM FORUM that defines the ATM specification, the cell size is 53-bytes having the following components among others:
Virtual path identifier (VPI): Identifies the path to be taken by the ATM cell. In an idle or null cell, the VPI field is set to all zeros. (A cell containing no information in the payload field is either xe2x80x9cidlexe2x80x9d or xe2x80x9cnullxe2x80x9d). A virtual path connection (VPC) is a group of virtual connections between two points in the network. Each virtual connection may involve several ATM links. VPIs bundle ATM traffic being sent to the same destination.
Virtual channel identifier (VCI): Identifies the circuit or connection number on that path. In an idle or null cell (one containing no payload information), the VCI field is set to all zeros. Other non-zero values in this field are reserved for special purposes. For example, the values VPI=0 and VCI=5 are used exclusively for ATM signaling purposes when requesting an ATM connection. A virtual channel connection (VCC) is a connection between two communicating ATM entities; the connection may comprise of many ATM links.
Payload type identifier (PTI): Indicates the type of data being carried in the payload. The first bit is a 0 if the payload contains user information and is a 1 if it carries connection management information. The second bit indicates if the cell experienced congestion over a path. If the payload is user information, the third bit indicates if the cell experienced congestion over the path. If the payload is user information, the third bit indicates if the information is from customer premises equipment (CPE). The payload is a maximum of 48 bytes.
The PVC is statically configured and mapped to a network in a subinterface point-to-point configuration. The path of the PVC is identified at each switch by an incoming VPI/VCI and an outgoing VPI/VCI. The logical data link layer may use the Subnetwork Access Protocol (SNAP) encapsulation as defined in the Request For Comments (RFC) 1483 published by the Internet Engineering Task Force (IETF). Alternatively, the logical data link layer can use LAN emulation (LANE) as specified in ATM FORUM 94-0035. LANE makes the ATM network transparent to LAN traffic by mapping connectionless LAN traffic over the connection-oriented ATM network. It uses point-to-multipoint connections to service the connectionless broadcast service that is required by LAN protocols.
The ATM Adaptation Layer (AAL) is used to receive the data from the various sources or applications and convert it to 48-byte segments that will fit into the payload of an ATM cell. There are several types of adaptation layers currently specified of which the AAL5 adaption layer is worth mentioning:
The AAL5 Common Part Convergence Sublayer (CPCS) Protocol Data Units (PDU) format is shown below:
The payload field contains user information up to 216xe2x88x921 octets in length. The PAD field is used to pad the CPCS-PDU to be exactly 48 octets in length. The CPCS-UU (User-to-User indication) field is unused. The CPI (Common Part Indicator) field aligns the CPCS-PDU Trailer to 64 bits. Must be set to 000.
The Length field indicates the length, in octets, of the Payload field. The maximum value for this field is 65535 octets. A length of zero is used to indicate an abort. The CRC field protects the entire CPCS-PDU except the CRC field itself.
A Virtual LAN (VLAN) is a logical network that is defined according to the functions or applications of the users without regard to their physical locations (a physical LAN on the other hand is dependent on the user""s physical proximity). As shown in FIG. 2, the end stations may be located in different campuses, however, the VLAN is able to group them together to operate with the same attributes of a LAN (i.e., as if they were connected together by the same physical LAN). Generally, VLANs are based on where the physical LANs enter the switch. For instance, in FIG. 3, a LAN switch may be configured such that ports 301-303 and 306 belong to VLAN 1, ports 304 and ports 307-310 belong to VLAN2, and ports 305, 311, 313 belong to VLAN3. Ports in a VLAN share broadcast traffic, however, ports that do not belong to that VLAN do not share the broadcast traffic.
Inter-Switch Link (ISL) protocol is a Cisco protocol that interconnects multiple switches and maintains VLAN information as traffic goes between switches and routers. A trunk is a physical link between two network devices, and in this instance carries multiple VLANs between two switches or between a switch and a router, thereby allowing VLANs to be extended across switches. Trunks use high-speed interfaces such as Fast Ethernet, Fiber Data Distributed Interface (FDDI), or ATM. With ISL, a frame is encapsulated with a header that transports VLAN IDs if the frame is destined for a non-local network. Further information on ISL is disclosed in U.S. Pat. No. 5,742,604, issued on Apr. 21, 1998 to Edsall et al., and titled xe2x80x9cInterswitch Link Mechanism For Connecting High-Performance Network Switchesxe2x80x9d, which is incorporated herein by reference. FIG. 4 illustrates VLAN packets traversing a trunk. Each VLAN packet carries the VLAN ID within the packet header. ISL forwards data across the high-speed link without breaking the frames into cells, that is, the frame is sent intact across the ISL connection. This is due to the fact that ISL was originally developed for Ethernet switches and thus, by its nature is unsuitable for transmission over an ATM network.
LANE or multiprotocol encapsulation defined under RFC 1483 are used to carry LAN data over the ATM. In a public network, this becomes very expensive because the numbers of PVCs/SVCs required to implement the above mentioned protocols increase with the number of LANs to be transported. It is desirable to reduce this cost.
The present invention pertains to Virtual Local Area Network (VLAN) trunking over Asychronous Transfer Mode (ATM) Permanent Virtual Circuits (PVCs), defined as VTAP. In particular, the invention allows aggregation of multiple VLAN traffic into a single data pipe in a Wide Area Network (WAN) environment. An advantage of the invention is that a single PVC can be utilized to aggregate all user LAN traffic between two sites. Within a switch, a processing unit constructs inbound and outbound tables that are used by an ATM interface to provide translation and forwarding information concerning ATM Adaptation Layer (AAL) frames attached with VTAP headers.
In accordance with an embodiment of the invention, there is an interaction between the AAL layer, the VTAP layer, the Inter-Switch Link (ISL) layer and the inbound or outbound tables. In the case where a frame is received by the ATM interface to be transmitted over the ATM network, the frame first passes through the ISL layer that assigns the frame a VLAN ID corresponding to its destination in accordance with the ISL protocol. The VLAN ID distinguishes the frame from other frames that are forwarded to different VLANs. Once the VLAN ID is assigned to the frame, it is passed to the VTAP layer where a VTAP header is generated that includes the VLAN ID. The VLAN It is also used to lookup the outbound table to determine the VPI/VCI address of the switch to which the frame should be forwarded. The retrieved VPI/VCI and the frame are then passed to the AAL layer which segments the frame into ATM cells, wherein each individual cell has a header with a prefixed VPI/VCI address. The cells are then forwarded to the destination switch via the ATM network.
In the case where the ATM cells are received at the ATM interface, the cells are passed to the AAL layer which re-assembles the cells into the VTAP encapsulated frame. The frame is then passed to the VTAP layer where the VTAP header is stripped and parsed for the DEST VLAN field. This field contains the VLAN ID of the packet. The VLAN ID is then used to lookup the inbound table to determine the logical ISL address to which the frame should be forwarded. This ISL address and the frame are forwarded to the ISL layer which processes the frame in accordance with the ISL protocol. If the ISL address is located on the same switch, the frame is forwarded to one of the I/O interfaces that forwards the frame to its destination VLAN.
In the event, the logical ISL address indicates that the frame should be forwarded to another switch, the frame is passed from the ISL layer to the VTAP layer in preparation for transmission via the ATM network as described above.